package com.lwc.cfdns.utils.file;

import java.io.File;

/**
 * 文件类型检测类
 *
 * @author luwc
 * @title FileTypeUtils
 * @description
 * @time 2023/6/4 9:53
 * @version: 1.0
 */
public class FileTypeUtils {
    /**
     * 获取文件类型
     *
     * @param file
     * @return String
     * @throws
     * @version 1.0.0
     * @author luwc
     * @time 2023/6/4 9:54
     */
    public static String getFileType(File file) {
        if (null == file) {
            return "";
        }
        return getFileType(file.getName());
    }

    /**
     * 获取文件类型
     *
     * @param fileName aaa.log
     * @return String
     * @throws
     * @version 1.0.0
     * @author luwc
     * @time 2023/6/4 9:54
     */
    public static String getFileType(String fileName) {
        int separatorIndex = fileName.lastIndexOf(".");
        if (separatorIndex < 0) {
            return "";
        }
        return fileName.substring(separatorIndex + 1).toLowerCase();
    }

    /**
     * 获取文件类型
     *
     * @param photoByte
     * @return String
     * @throws
     * @version 1.0.0
     * @author luwc
     * @time 2023/6/4 9:54
     */
    public static String getFileExtendName(byte[] photoByte) {
        String strFileExtendName = "JPG";
        if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56)
                && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97)) {
            strFileExtendName = "GIF";
        } else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70)) {
            strFileExtendName = "JPG";
        } else if ((photoByte[0] == 66) && (photoByte[1] == 77)) {
            strFileExtendName = "BMP";
        } else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71)) {
            strFileExtendName = "PNG";
        }
        return strFileExtendName;
    }
}
